package Message.Public
{
	import Framework.Serialize.*;
	import flash.utils.*;
	
	public class SMapDefine extends Object
	{
		public var mapId:int;
		public var name:String;
		public var realWidth:int;
		public var realHeight:int;
		public var clientFile:int;
		public var serverFile:String;
		public var ownerType:EMapOwnerType;
		public var campType:ECamp;
		public var instanceType:EMapInstanceType;
		public var revivalMaps:Dictionary;
		public var restrictionType:int;
		public var deathEvents:Dictionary;
		public var rate:int;
		public var weather:int;
		public var backgroundMusic:int;
		public var passPoints:Array;
		public var npcs:Array;
		public var areas:Array;
		public var fightModel:int;
		public var sharps:Array;
		
		public function SMapDefine()
		{
			
		}
		
		public function __write(param1:SerializeStream) : void
		{
			param1.writeInt(this.mapId);
			param1.writeString(this.name);
			param1.writeInt(this.realWidth);
			param1.writeInt(this.realHeight);
			param1.writeInt(this.clientFile);
			param1.writeString(this.serverFile);
			//this.ownerType.__write(param1);
			//this.campType.__write(param1);
			//this.instanceType.__write(param1);
			DictIntIntHelper.write(param1, this.revivalMaps);
			param1.writeInt(this.restrictionType);
			DictIntIntHelper.write(param1, this.deathEvents);
			param1.writeInt(this.rate);
			param1.writeInt(this.weather);
			param1.writeInt(this.backgroundMusic);
			//SeqPassPointHelper.write(param1, this.passPoints);
			//SeqNpcHelper.write(param1, this.npcs);
			//SeqMapAreaHelper.write(param1, this.areas);
			param1.writeInt(this.fightModel);
			//SeqMapSharpHelper.write(param1, this.sharps);
			
		}
		
		public function __read(param1:SerializeStream) : void
		{
			this.mapId = param1.readInt();
			this.name = param1.readString();
			this.realWidth = param1.readInt();
			this.realHeight = param1.readInt();
			this.clientFile = param1.readInt();
			this.serverFile = param1.readString();
			//this.ownerType = EMapOwnerType.__read(param1);
			//this.campType = ECamp.__read(param1);
			//this.instanceType = EMapInstanceType.__read(param1);
			this.revivalMaps = DictIntIntHelper.read(param1);
			this.restrictionType = param1.readInt();
			this.deathEvents = DictIntIntHelper.read(param1);
			this.rate = param1.readInt();
			this.weather = param1.readInt();
			this.backgroundMusic = param1.readInt();
			//this.passPoints = SeqPassPointHelper.read(param1);
			//this.npcs = SeqNpcHelper.read(param1);
			//this.areas = SeqMapAreaHelper.read(param1);
			this.fightModel = param1.readInt();
			//this.sharps = SeqMapSharpHelper.read(param1);
			
		}
		
	}
}
